package com.guomei.bean.curse.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.guomei.bean.User;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 课程及统计信息VO
 * 包含课程基本信息和相关统计数据
 */
@Data
public class CourseWithStats {
    
    /**
     * 课程ID
     */
    private Long id;
    
    /**
     * 课程名称
     */
    private String courseName;
    
    /**
     * 封面图片
     */
    private String coverImage;
    
    /**
     * 课程价格
     */
    private BigDecimal price;
    
    /**
     * 优惠价格
     */
    private BigDecimal salePrice;
    
    /**
     * 状态(0-草稿,1-已发布,2-下架)
     */
    private Short status;
    
    /**
     * 课程类型(1-公开课,2-付费课,3-专研班,4-专修课)
     */
    private Short courseType;
    
    /**
     * 授课老师ID
     */
    private Long teacherId;
    
    /**
     * 授课老师信息
     */
    private User teacher;
    
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createdTime;
    
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedTime;
    
    /**
     * 分销老师数量
     */
    private Long distributorCount;
    
    /**
     * 分销金额（总分销金额）
     */
    private BigDecimal distributionAmount;
    
    /**
     * 课程订单数量（已支付）
     */
    private Long orderCount;
    
    /**
     * 销售金额（课程总订单交易金额）
     */
    private BigDecimal salesAmount;
}

